package com.lv.service.bean

import android.os.Parcelable
import androidx.annotation.Keep
import com.chad.library.adapter.base.entity.MultiItemEntity
import kotlinx.parcelize.Parcelize

/**
 * 作者： ygx
 * 创建日期：2023/6/9 3:53 PM
 * 签名： 天行健，君子以自强不息；地势坤，君子以厚德载物。
 * -    _              _           _     _   ____  _             _ _
 * -   / \   _ __   __| |_ __ ___ (_) __| | / ___|| |_ _   _  __| (_) ___
 * -  / _ \ | '_ \ / _` | '__/ _ \| |/ _` | \___ \| __| | | |/ _` | |/ _ \
 * - / ___ \| | | | (_| | | | (_) | | (_| |  ___) | |_| |_| | (_| | | (_) |
 * -/_/   \_\_| |_|\__,_|_|  \___/|_|\__,_| |____/ \__|\__,_|\__,_|_|\___/
 * <p>
 * You never know what you can do until you try !
 * ----------------------------------------------------------------
 * 描述：
 */
@Parcelize
@Keep
data class NotificationBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val items: List<NotificationItemBean>?,
) : Parcelable

@Parcelize
@Keep
data class NotificationItemBean(
    val id: String? = null,
    val url: String? = null,
    val title: String? = null,
    val text: String? = null,
    val created: Long,
    val updated: Long,
    val userid: String? = null,
    val port: String? = null,
    val code: String? = null,
    val mold: String? = null,
    val image: String? = null,
    val tag: String? = null,
    val type: String? = null,
    val seq: String? = null,
    val readlist: List<String>? = null,
    val isdelete: String? = null,
    var istel: String? = null,// 0 未读 1 已读
    var dispose: String? = null,//非0 都是处理过 （审核消息  1 同意 2 拒绝）
    var disposeself: String? = "0",//非0 都是处理过 标记自己是否处理过，上级没有处理
    val logo: String? = null,
    var process: List<ProcessBean>?,
) : Parcelable

@Parcelize
@Keep
data class RecodeBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val items: List<RecodeItemBean>?,
) : Parcelable

@Parcelize
@Keep
data class RecodeItemBean(
    val id: String? = null,
    val spuId: String? = null,
    val userid: String? = null,
    val name: String? = null,
    val image: String? = null,
    val ismarketable: String? = null,
    val cpname: String? = null,
    val price: String? = null,
    val minprice: String? = null,
    val fcname: String? = null,
    val date: String? = null,
    val created: Long,
    val updated: Long,
) : Parcelable

@Parcelize
@Keep
data class CooperationBean(
    var id: String,
    var cpname: String,
    var phone: String,
    var name: String,
    var code: String,//0 商务合作 1 入驻
    var dispose: String,//非0 都是处理过 （审核消息  1 同意 2 拒绝）
    var created: Long,
    var updated: Long,

    ) : Parcelable

//@Parcelize
//@Keep
//data class ApproveBean(
//    var id: String,
//    var title: String,
//    var sendtxaccid: String? = "",
//    var sendid: String,
//    var sendname: String,
//    var claimer: String,
//    var claimerphone: String?,
//    var dispose: String,//非0 都是处理过 （审核消息  1 同意 2 拒绝）
//    var disposeself: String? = "",//自已加的，辅助判断是否处理过 非0 都是处理过 （审核消息  1 同意 2 拒绝 -1 自己处理了，订单还没有同意）
//    var userid: String,
//    var port: String,
//    var code: String,
//    var tag: String,
//    var cpyid: String,
//    var caption: String,
//    var zhiid: String,
//    var trading: String,
//    var type: String?,
//    var isload: String?,
//    var isshell: String?,
//    var process: List<ProcessBean>?,
//    var attachment: LogisticAttachmentBean?,
//    var price: Double,
//    var created: Long,
//    var updated: Long,
//
//    ) : Parcelable

@Parcelize
@Keep
data class ApproveNewBean(
    var id: String,
    var title: String,
    var sendtxaccid: String? = "",
    var sendid: String,
    var sendname: String,
    var claimer: String,
    var claimerphone: String?,
    var dispose: String,//非0 都是处理过 （审核消息  1 同意 2 拒绝 3 已撤消）
    var disposeself: String? = "",//自已加的，辅助判断是否处理过 非0 都是处理过 （审核消息  1 同意 2 拒绝 -1 自己处理了，订单还没有同意）
    var userid: String,
    var port: String,
    var code: String,
    var tag: String,
    var cpyid: String,
    var caption: String,
    var zhiid: String,
    var couponid: String?,//有值就是翻牌
    var trading: String,
    var type: String?,
    var isload: String?,
    var isshell: String?,
    var process: List<ProcessBean>?,
    var attachment: List<AttachmentBean>?,
    var price: Double,
    var actualprice: Double?,
    var created: Long,
    var updated: Long,

    ) : Parcelable

@Parcelize
@Keep
data class AttachmentBean(
    var image: String?,
    var images: List<String>?,
    var code: String?,
    var name: String?,
    var type: String?,

    ) : Parcelable

@Parcelize
@Keep
data class FindGoodsPageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val items: List<FindGoodsBean>?,
) : Parcelable

@Parcelize
@Keep
data class FindGoodsBean(
    val created: Long,
    val dispose: String?,
    val id: String,
    val image: String?,
    val isdelay: String?,
    val isdelete: String?,
    val mold: String?,
    val name: String?,
    val phone: String?,
    val type: String?,
    val num: Int?,
    val fcaid: Int?,
    val fcname: String?,
    val secaid: Int?,
    val secname: String?,
    val thcaid: Int?,
    val thcname: String?,
    val province: String?,
    val receivingRecords: List<ReceivingRecordsBean>?,
    val scope: String?,//
    val code: String?,//syy0000071是指定商家过来的
    val sendOrders: List<SendOrder>?,
    val sendtime: Long,
    val txaccid: String,
    val updated: Long,
    val userid: String,
    val username: String

) : Parcelable

@Parcelize
@Keep
data class SendOrder(
    val cpyid: String?,
    val created: Long,
    val dutyid: String?,
    val dutyname: String?,
    val id: String,
    var istel: String?,
    val logo: String?,
    val lookid: String?,
    val name: String?,
    val phone: String?,
    val salerid: String?,
    val salername: String?,
    val display: String?
) : Parcelable

@Parcelize
@Keep
data class ReceivingRecordsBean(
    val id: String,
    val cpyid: String?,
    val lgid: String?,
    val cpname: String?,
    val logo: String?,
    val msgid: String?,
    val created: Long,
    val bnames: String?,//"[\"起重设备-钢丝绳\",\"机电设备-电机配件\",\"机电设备~减速机\",\"机电设备！发电机\",\"焊机配件-焊机配件\",\"焊机配件焊机配件焊机\",\"焊机配件焊机配件焊机\",\"焊机配件焊机配件焊机\",\"测试\"]"
    val phone: String?,
    val txaccid: String?,
    val address: String?,
    var dispose: String?,

    ) : Parcelable

@Parcelize
@Keep
data class FindCountsBean(
    var opportunity: Int,
    var approve: Int,
    var sendOrder: Int,

    ) : Parcelable

@Parcelize
@Keep
data class SalerOrderBean(
    var port: String,//0 个人 1 业务员
    var phone: String,
    var name: String,

    ) : Parcelable

@Parcelize
@Keep
data class ProcessBean(
    var salerid: String,
    var role: String,//0 普通业务员 1 经理 2 穆总 3 财务
    var name: String,
    var dispose: String,//id一致 0 没有审核 1 审核中
    var logo: String,
    var created: Long,
    var updated: Long,

    ) : Parcelable

@Parcelize
@Keep
data class LogisticAttachmentBean(
    var bookcut: List<String>?,//广告
    var transfercut: List<String>?,
    var chatcut: List<String>?,
    var shipmentcut: List<String>?,
    var deliverycut: List<String>?,

    ) : Parcelable

@Parcelize
@Keep
data class CooperationDetailBean(
    var id: String?,
    var cpname: String?,
    var phone: String?,
    var name: String?,
    var tdid: String?,
    var code: String?,
    var province: String?,
    var dispose: String?,
    var uploadSalername: String?,
    var created: Long?,
    var updated: Long?,

    ) : Parcelable

@Parcelize
@Keep
data class FreeCpCooperationDetailBean(
    var id: String?,
    var cpname: String?,
    var phone: String?,
    var category: String?,
    var cpyid: String?,
    var dispose: String?,
    var code: String?,//1039 1041 显示 查看店铺 其它不显示
    var disposeself: String? = "",//自已加的，辅助判断是否处理过 非0 都是处理过 （审核消息  1 同意 2 拒绝 -1 自己处理了，订单还没有同意）
    var created: Long?,
    var updated: Long?,
    var process: List<ProcessBean>?,

    ) : Parcelable

@Parcelize
@Keep
data class ExpandsProcessBean(
    var process: List<ProcessBean>?,

    ) : Parcelable

@Keep
open class FindGoodsTypeBean(override val itemType: Int) : MultiItemEntity {
//    var dataItem: FindGoodsBean? = null

    companion object {
        const val TYPE_SEND = 0
        const val TYPE_TITLE = 1
        const val TYPE_RECEIVE = 2
    }

}

@Parcelize
@Keep
class FindGoodsSendBean(
    override val itemType: Int = FindGoodsTypeBean.TYPE_SEND,
    val sendBean: SendOrder
) :
    FindGoodsTypeBean(itemType), MultiItemEntity,
    Parcelable {
}

@Parcelize
@Keep
class FindGoodsTitleBean(override val itemType: Int = FindGoodsTypeBean.TYPE_TITLE) :
    FindGoodsTypeBean(itemType), MultiItemEntity,
    Parcelable {
}

@Parcelize
@Keep
class FindGoodsReceiveBean(
    override val itemType: Int = FindGoodsTypeBean.TYPE_RECEIVE,
    val receiveBean: ReceivingRecordsBean
) :
    FindGoodsTypeBean(itemType), MultiItemEntity,
    Parcelable {

}

@Keep
data class PhoneBean(
    var seed: String?,//我要找货列表 0 未读 1 已读
    var load: String?//一级消息tab里我要找货消息红点
)

@Parcelize
@Keep
data class RefundBean(
    var id: String?,
    var cpyid: String?,
    var name: String?,
    var title: String?,
    var phone: String?,
    var dispose: String?,
    var disposeself: String?,
    var balance: Double?,
    var price: Double?,
    var time: Long?,
) : Parcelable




